import re


# 邮箱匹配规则
def main():
    while True:
        email = input("请输入一个邮箱地址:")
        # 如果在正则表达式中用到了某些普通的字符，比如？.等，仅仅需要在他们前面添加一个反斜杠进行兼收
        # 可以支持多个邮箱163|126|qq
        ret = re.match(r"[a-zA-Z0-9_]{4,20}@(163|126|qq)\.com$", email)
        if ret:
            print("%s符合要求" % email)
            return
        else:
            print("%s 不符合要求" % email)


# 正则表达式匹配
def strMatch(Rules, String):
    return re.findall(Rules, String)


if __name__ == '__main__':
    # 写一个正则表达式，使其能同时识别下面所有的字符串：'bat', 'bit', 'but', 'hat', 'hit', 'hut‘
    rules1 = r'[bh][aiu]t'
    string1 = "'bat', 'bit', 'but', 'hat', 'hit', 'hut'"
    print(strMatch(rules1, string1))

    # 提取每行中完整的年月日和时间字段
    rules2 = r'\d{4}-\d{2}-\d{2}\s+\d{2}:\d{2}:\d{2}'
    string2 = """time 2020-02-01 09:30:00
        2021-02-01 20:25:00"""
    print(strMatch(rules2, string2))

    main()
